package com.gxa.mapper.zhy;

import com.gxa.pojo.Role;
import com.gxa.pojo.Users;
import com.gxa.pojo.zhy.AdminInformation;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * User: 赵贺益
 * Date: 2021/12/06 16:58
 * Description:
 * Version: V1.0
 */
public interface AdministratorListMapper {
    /**
     * 前端返回对应的状态值和管理员id，修改管理员的状态
     */
    int updateUserStatue(Integer user_id, Integer statue);
    /**
     * 查询获取所有的角色，用于下拉框显示
     * @param
     * @param
     * @return
     */
    List<Role> queryAllRoles();
    /**
     * 根据管理员的id（user_id）删除管理员
     * @param user_id
     * @return
     */
    int delUserbyuser_id(Integer user_id);

    /**
     *  //判断该账号是否已经存在
     * @param username
     * @return
     */
    int queryUserByusername(String username);

    /**
     *  //判断该员工编号是否已经是员工
     * @return
     * @param emp_number
     */
    int queryEmpByemp_number(String emp_number);

    /**
     * //添加管理员
     * @param username
     * @param user_password
     * @param emp_number
     * @param role_id
     * @return
     */
    int addUsers(String username, String user_password, String emp_number, Integer role_id);

    /**
     * 查询管理员数据的条数
     * @return
     */
    Integer querytotalSize();

    /**
     * 查询所以的管理员数据
     * @return
     * @param param1
     * @param param2
     */
    List<Object> queryAllUsers(Integer param1, Integer param2);

    /**
     * 根据 user_id修改密码
     * @param adminInformation
     * @return
     */
    int updateUser(AdminInformation adminInformation);

    /**
     * 更改性别、手机、邮箱
     * @param adminInformation
     * @return
     */
    int updateEmp(AdminInformation adminInformation);

    /**
     * 关键字模糊搜索（管理员）数据的数量
     * @param message
     * @return
     */
    Integer queryAdminInformationByinformationtotalSize(@Param("message") String message);

    /**
     * 关键字模糊搜索（管理员）,返回模糊查询到的全部数据
     * @param param1
     * @param param2
     * @param message
     * @return
     */
    List<AdminInformation> queryAdminInformationByinformation(@Param("param1") Integer param1, @Param("param2") Integer param2, @Param("message") String message);

    /**
     * 判断该员工编号是否已经注册
     * @param emp_number
     * @return
     */
    int judgeUsersIsResisgterByemp_number(String emp_number);

    /**
     * 获取该用户原来已经加密后的密码
     * @param adminInformation
     * @return
     */
    Users queryAdminInformationByinformationOldPassword(AdminInformation adminInformation);
}
